package test;
import java.io.ByteArrayOutputStream;

import org.kxml2.io.KXmlSerializer;
import org.kxml2.kdom.Document;



public class Processamento
{
	public static void main( String[ ] args )
	{
		long tempoInicial 		= 0;
		long tempoFinal 		= 0;

		int tamanhoCampos 		= 10;
		int numeroCampos 		= 0;
		int tamanhoHierarquia 	= 2;
		int i 					= 1;

		String mensagem = null;
		Document objeto = null;

		for ( i = 1 ; i <= 13 ; i++ )
		{
			System.out.printf( "======== %d ========\n", numeroCampos );

			tempoInicial = java.lang.System.currentTimeMillis( );

			objeto = TrataXML.getXML( tamanhoCampos, numeroCampos, tamanhoHierarquia );
			//mensagem = objeto.toString( );
			
			try{
				ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
	            KXmlSerializer kxmlSerializer = new KXmlSerializer ();
	            kxmlSerializer.setOutput (byteArrayOutputStream, null);
	            objeto.write (kxmlSerializer);
	            kxmlSerializer.flush();
	            mensagem = new String( byteArrayOutputStream.toByteArray() );
			}
			catch(Exception e)
			{
				System.out.println(e.getMessage());
			}
			tempoFinal = java.lang.System.currentTimeMillis( );

			System.out.printf( "tempo criacao: %d\n", ( tempoFinal - tempoInicial ) );

			objeto = null;

			tempoInicial = java.lang.System.currentTimeMillis( );

			TrataXML.extractXML( mensagem );

			tempoFinal = java.lang.System.currentTimeMillis( );

			System.out.printf( "tempo extracao: %d\n", ( tempoFinal - tempoInicial ) );
			System.out.printf( "tamanho msg: %d\n", mensagem.length( ) );

			numeroCampos = numeroCampos + 10;
		}// for
	}// main
}// JSON_proc

